bpf: Remove superfluous aux sanitation on subprog rejection
authorDaniel Borkmann <daniel@iogearbox.net>
Tue, 29 Jun 2021 09:39:15 +0000 (09:39 +0000)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 23 Sep 2021 20:35:21 +0000 (21:35 +0100)
commit39c524cfae0853651017bbba46065e5487da8615
treeff52aef4db00d8e4db0f810b714601cd7096a3ee
parenta31463c5d0f90047bbc793e73445f505ad5dcfd1
bpf: Remove superfluous aux sanitation on subprog rejection

commit 59089a189e3adde4cf85f2ce479738d1ae4c514d upstream.

Follow-up to fe9a5ca7e370 ("bpf: Do not mark insn as seen under speculative
path verification"). The sanitize_insn_aux_data() helper does not serve a
particular purpose in today's code. The original intention for the helper
was that if function-by-function verification fails, a given program would
be cleared from temporary insn_aux_data[], and then its verification would
be re-attempted in the context of the main program a second time.

However, a failure in do_check_subprogs() will skip do_check_main() and
propagate the error to the user instead, thus such situation can never occur.
Given its interaction is not compatible to the Spectre v1 mitigation (due to
comparing aux->seen with env->pass_cnt), just remove sanitize_insn_aux_data()
to avoid future bugs in this area.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gbp-Pq: Topic bugfix/all
Gbp-Pq: Name bpf-remove-superfluous-aux-sanitation-on-subprog-rejection.patch
kernel/bpf/verifier.c